【Python】Jsonファイルを読み込むときに発生するエラーの解決方法 | 您所在的位置:网站首页 › json decode error 翻译 › 【Python】Jsonファイルを読み込むときに発生するエラーの解決方法 |
【Python】Jsonファイルを読み込むときに発生するエラーの解決方法
投稿: 2021年03月10日
![]() こんにちは、にわこまです。 今回は、pythonでjsonファイルを読み込もうとしたときに発生するエラーの解決方法を紹介します。具体的に言うと以下のようなエラーを解決します。 「json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line x column y (char z)」 ※x、y、zにはそれぞれ数字が代入されます。
誤字脱字や分からない点、解決し欲しい問題がありましたらご連絡お願いいたします。 メールまたはTwitterのDMまで!
スポンサードサーチ json.decoder.JSONDecodeErrorの解決方法jsonファイルのダブルクォーテーション(”)やカンマ(,)、中括弧({})を確認する
ダブルクォーテーション、カンマ、中括弧の過不足を確認することでjson.decode.JSONDecodeErrorを解決することができます。
そもそも「Expecting property name enclosed in double quotes」とは、「プロパティ名がダブルクォーテーションで囲まれていません」というエラーです。 jsonファイルではシングルクォーテーション(’)は使えないため、文字列は全てダブルクォーテーションで囲まなければなりません。
Jsonライブラリ 公式ドキュメントはこちら
エラーのサンプルコード1(ダブルクォーテーション) エラーが発生するサンプルコードとその実行結果を以下に示します。また、jsonファイルを以下に示します。 import json path = "./json_valueerror.json" with open(path, encoding="utf-8", mode="r") as f: d = json.load(f) print(d) === 実行結果 === Traceback (most recent call last): File "json_valueerror.py", line 5, in d = json.load(f) ・ ・ ・ json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 2 column 3 (char 4) { 'Crow':{ "X":12, "Y":34, "Z":23 }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }
上記のサンプルコードはjsonファイルを読み込み、その内容を表示するコードです。
jsonファイルの2行目の「Crow」がシングルクォーテーションで囲まれているためエラーが発生しました。 シングルクォーテーションをダブルクォーテーションに変えることでエラーを解決することができます。
エラーを解決したjsonファイルを以下に示します。 { "Crow":{ "X":12, "Y":34, "Z":23 }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }
pythonファイルの実行結果を以下に示します。pythonファイルは特に直す必要はありません。 {'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}
エラーのサンプルコード2(カンマ) エラーが発生するサンプルコードとその実行結果を以下に示します。また、jsonファイルを以下に示します。 import json path = "./json_valueerror.json" with open(path, encoding="utf-8", mode="r") as f: d = json.load(f) print(d) === 実行結果 === Traceback (most recent call last): File "json_valueerror.py", line 5, in d = json.load(f) ・ ・ ・ json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 6 column 3 (char 51) { "Crow":{ "X":12, "Y":34, "Z":23, }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }
上記のサンプルコードはjsonファイルを読み込み、その内容を表示するコードです。
jsonファイルの5行目の「」の後ろにカンマがあるためエラーが発生しました。 jsonファイルの5行目のカンマを削除することでエラーを解決することができます。
エラーを解決したjsonファイルを以下に示します。 { "Crow":{ "X":12, "Y":34, "Z":23 }, "Duck":{ "X":10, "Y":29, "Z":20 }, "Eagle":{ "X":19, "Y":35, "Z":25 }, "Flamingo":{ "X":30, "Y":33, "Z":31 } }
pythonファイルの実行結果を以下に示します。pythonファイルは特に直す必要はありません。 {'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}
まとめ ![]() 今回は、pythonでjsonファイルを読み込もうとしたときに発生するエラーの解決方法を紹介しました。 具体的には「json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line x column y (char z)」というエラーを解決する方法を紹介しました。 JSONDecodeErrorとあるように、jsonのエラーであるためjsonファイルを確認するようにしましょう!
改めて解決方法を以下に示します。 jsonファイルのダブルクォーテーション(”)やカンマ(,)、中括弧({})を確認する
解決してほしいエラー、問題などがありましたらメールまたはTwitterのDMまで!
最後までお読みいただきありがとうございます。 Twitterでシェアスポンサードサーチ 関連記事 【Python】「list index out of range」の解決方法 【1Z0-815-JPN】Java SE 11 Silver 合格体験記 学習方法や参考書を紹介! 【1Z0-815-JPN】Java SE 11 Silver 合格証明書の取得方法 【1Z0-815-JPN】Java SE 11 Silver 受験方法 【Python】自作loggerの作り方 |
CopyRight 2018-2019 实验室设备网 版权所有 |